PostgreSQL 编译安装通用步骤 | 您所在的位置:网站首页 › postgresql 获取ddl › PostgreSQL 编译安装通用步骤 |
导读
postgresql的源码编译安装比较复杂。笔记总结了从pg12-pg15的安装方式并作了抽象。基本上通用于pg12以来的编译安装操作了。在这里分享给大家,希望给大家提供便利。 本文基于Centos7.9-x86_64的环境。 注意:关键的一节是二、配置安装需求,这里是本文的全局配置,以环境变量的形式。一定不要随便起一个会话就执行,得有这些配置变量才行。 Here we go!!! >>> 一、安装依赖包 1.1 操作系统工具包安装命令: yum install -y vim lrzsz wget bzip2 unzip net-tools telnet tree mlocate bash-completion 1.2 PG依赖包安装命令: yum install -y readline readline-devel zlib zlib-devel bison bison-devel flex perl-ExtUtils-Embed perl-devel \ openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel tcl tcl-devel \ openldap openldap-devel python python-devel gcc gcc-c++ rsync icu libicu-devel \ e2fsprogs-devel uuid uuid-devel libuuid-develPG15及以上版本需要 Python3+ yum install -y python3 python3-devel 二、配置安装需求本文档使用变量来定义需求,命令如下: export PG_VERSION_NUM=15.3 export PG_NAME=postgresql-${PG_VERSION_NUM} export PG_PKGFILE_NAME=postgresql-${PG_VERSION_NUM}.tar.bz2 export PG_PKGFILE_MD5=postgresql-${PG_VERSION_NUM}.tar.bz2.md5 export PG_SRC_DEST_DIR=/usr/local/src export PG_SRC_FULL_PATH=${PG_SRC_DEST_DIR}/${PG_NAME} export PG_INSTALL_PATH=/opt/pgsql${PG_VERSION_NUM} export PG_DATA_PARENT_DIR=/pgdata/${PG_VERSION_NUM} export PG_DATA_FULL_PATH=${PG_DATA_PARENT_DIR}/data说明: PG_VERSION_NUM:版本号,数字小数点组成;PG_NAME:源码包解压后的目录名;PG_PKGFILE_NAME:源码包完整名称;PG_PKGFILE_MD5:源码包验证散列值;PG_SRC_DEST:源码安装目标路径;PG_SRC_FULL_PATH:源码完整路径,该目录下就是源码;PG_INSTALL_PATH:二进制文件的安装目录;PG_DATA_PARENT_DIR:数据目录(PGDATA)在这个目录下;PG_DATA_FULL_PATH:数据目录(PGDATA)的完整路径,该目录下就是PADATA内容。 三、下载源码#下载: wget https://ftp.postgresql.org/pub/source/v${PG_VERSION_NUM}/postgresql-${PG_VERSION_NUM}.tar.bz2 wget https://ftp.postgresql.org/pub/source/v${PG_VERSION_NUM}/postgresql-${PG_VERSION_NUM}.tar.bz2.md5#校验: md5sum -c ${PG_PKGFILE_MD5}#解压到指定位置: tar -xjvf ${PG_PKGFILE_NAME} -C ${PG_SRC_DEST_DIR} 四、编译安装 4.1 创建 build 目录进入源码目录执行命令: mkdir ${PG_SRC_FULL_PATH}/build && cd ${PG_SRC_FULL_PATH}/build 4.2 编译配置一般配置命令: ../configure --prefix=${PG_INSTALL_PATH} --with-libxml --with-ssl=openssl --with-uuid=ossp \ --with-systemd --with-python --with-perl --with-icu使用编译安装的 ICU 可能需要这样(推荐): PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \ ../configure --prefix=${PG_INSTALL_PATH} --with-libxml --with-ssl=openssl --with-uuid=ossp \ --with-systemd --with-python --with-perl --with-icu你需要知道ICU编译安装到哪个路径下,这里的PKG_CONFIG_PATH是指代添加到 pkg-config 搜索路径的目录。 4.3 编译安装执行命令: make -j$(nproc) && make install -j$(nproc) 五、创建用户和目录 5.1 创建用户创建操作系统用户postgres: /usr/sbin/groupadd postgres /usr/sbin/useradd -g postgres postgres -c "${PG_NAME} Server" echo "postgres:666666" | chpasswd 5.2 创建相关目录创建一些目录以及相应的权限: mkdir -p ${PG_INSTALL_PATH} mkdir -p ${PG_DATA_FULL_PATH} ln -sf ${PG_INSTALL_PATH} /opt/pgsql chown -R postgres.postgres ${PG_INSTALL_PATH} chown -R postgres.postgres ${PG_DATA_PARENT_DIR} chmod 0700 ${PG_INSTALL_PATH} chmod 0700 ${PG_DATA_FULL_PATH} 5.3 配置环境变量配置用户 postgres 环境变量: cat >> /home/postgres/.bash_profile |
CopyRight 2018-2019 实验室设备网 版权所有 |